package com.moli.iov.third.remote;

import com.moli.iov.rest.RestResponse;
import com.moli.iov.third.model.dto.op.CommandNoticeDto;
import com.moli.iov.third.model.dto.op.CreateUserDto;
import com.moli.iov.third.model.dto.op.ModifyPasswordDto;
import com.moli.iov.third.model.dto.op.ModifyUserDto;
import java.io.IOException;

/**
 * <p>
 * 用户业务
 * </p>
 *
 * @author zql
 * @since 2019/10/10 10:47
 */
public interface IUserOpRemoteService {

  /**
   * 添加用户
   * @param userDto
   * @return
   */
  RestResponse createUser(CreateUserDto userDto) throws Exception;

  /**
   * 修改用户
   * @param modifyUserDto
   * @return
   */
  RestResponse modifyUser(ModifyUserDto modifyUserDto) throws IOException;

  /**
   * 修改密码
   * @param modifyPasswordDto
   * @return
   */
  RestResponse modifyPassword(ModifyPasswordDto modifyPasswordDto) throws IOException;

  /**
   * 重置密码
   * @param modifyPasswordDto
   * @return
   */
  RestResponse resetPassword(ModifyPasswordDto modifyPasswordDto) throws IOException;

  /**
   * 控车通知
   * @param commandNoticeDto
   * @return
   */
  RestResponse controlCommandNotice(CommandNoticeDto commandNoticeDto) throws IOException;
}
